
strcmp.bin:     file format elf64-x86-64


Disassembly of section .text:

:_start
c6 04 25 e4 01 60 00  # movb   $0x54,0x6001e4
54 
c6 04 25 e5 01 60 00  # movb   $0x65,0x6001e5
65 
c6 04 25 e6 01 60 00  # movb   $0x73,0x6001e6
73 
c6 04 25 e7 01 60 00  # movb   $0x74,0x6001e7
74 
c6 04 25 e8 01 60 00  # movb   $0x53,0x6001e8
53 
c6 04 25 e9 01 60 00  # movb   $0x54,0x6001e9
54 
c6 04 25 ea 01 60 00  # movb   $0x72,0x6001ea
72 
48 c7 c0 04 02 60 00  # mov    $0x600204,%rax
e8 3d 00 00 00        # callq  400131 <getstr>
48 c7 c0 01 00 00 00  # mov    $0x1,%rax
48 c7 c7 01 00 00 00  # mov    $0x1,%rdi
48 c7 c6 04 02 60 00  # mov    $0x600204,%rsi
48 c7 c2 2a 00 00 00  # mov    $0x2a,%rdx
0f 05                 # syscall 
48 c7 c1 e4 01 60 00  # mov    $0x6001e4,%rcx
48 c7 c2 04 02 60 00  # mov    $0x600204,%rdx
e8 89 00 00 00        # callq  4001ae <strcmp>
48 89 c7              # mov    %rax,%rdi
48 c7 c0 3c 00 00 00  # mov    $0x3c,%rax
0f 05                 # syscall 

:getstr
48 89 c3              # mov    %rax,%rbx

:getstr.loop
e8 12 00 00 00        # callq  40014b <getchar>
48 83 f8 ff           # cmp    $0xffffffffffffffff,%rax
74 08                 # je     400147 <getstr.done>
88 03                 # mov    %al,(%rbx)
48 83 c3 01           # add    $0x1,%rbx
eb ed                 # jmp    400134 <getstr.loop>

:getstr.done
c6 03 00              # movb   $0x0,(%rbx)
c3                    # retq   

:getchar
48 c7 c0 00 00 00 00  # mov    $0x0,%rax
48 c7 c7 00 00 00 00  # mov    $0x0,%rdi
48 8d 34 25 2e 02 60  # lea    0x60022e,%rsi
00 
48 c7 c2 01 00 00 00  # mov    $0x1,%rdx
0f 05                 # syscall 
48 83 f8 01           # cmp    $0x1,%rax
75 0f                 # jne    40017f <getchar.getchar_fail>
48 c7 c0 00 00 00 00  # mov    $0x0,%rax
8a 04 25 2e 02 60 00  # mov    0x60022e,%al
c3                    # retq   

:getchar.getchar_fail
48 c7 c0 ff ff ff ff  # mov    $0xffffffffffffffff,%rax
c3                    # retq   

:putchar
88 04 25 2e 02 60 00  # mov    %al,0x60022e
48 c7 c0 01 00 00 00  # mov    $0x1,%rax
48 c7 c7 01 00 00 00  # mov    $0x1,%rdi
48 8d 34 25 2e 02 60  # lea    0x60022e,%rsi
00 
48 c7 c2 01 00 00 00  # mov    $0x1,%rdx
0f 05                 # syscall 
c3                    # retq   

:strcmp
8a 01                 # mov    (%rcx),%al
8a 1a                 # mov    (%rdx),%bl
3c 00                 # cmp    $0x0,%al
74 11                 # je     4001c7 <strcmp.al.eq>
80 fb 00              # cmp    $0x0,%bl
74 21                 # je     4001dc <strcmp.bl.eq.2>
38 d8                 # cmp    %bl,%al
75 1d                 # jne    4001dc <strcmp.bl.eq.2>
48 ff c1              # inc    %rcx
48 ff c2              # inc    %rdx
eb e7                 # jmp    4001ae <strcmp>

:strcmp.al.eq
80 fb 00              # cmp    $0x0,%bl
74 08                 # je     4001d4 <strcmp.bl.eq.1>
48 c7 c0 01 00 00 00  # mov    $0x1,%rax
c3                    # retq   

:strcmp.bl.eq.1
48 c7 c0 00 00 00 00  # mov    $0x0,%rax
c3                    # retq   

:strcmp.bl.eq.2
48 c7 c0 01 00 00 00  # mov    $0x1,%rax
c3                    # retq   

Disassembly of section .bss:

:__bss_start
...

:mystr
...

:buf
...

Disassembly of section .debug_aranges:

:.debug_aranges
2c 00                 # sub    $0x0,%al
00 00                 # add    %al,(%rax)
02 00                 # add    (%rax),%al
00 00                 # add    %al,(%rax)
00 00                 # add    %al,(%rax)
08 00                 # or     %al,(%rax)
00 00                 # add    %al,(%rax)
00 00                 # add    %al,(%rax)
b0 00                 # mov    $0x0,%al
40 00 00              # add    %al,(%rax)
00 00                 # add    %al,(%rax)
00 34 01              # add    %dh,(%rcx,%rax,1)
...

Disassembly of section .debug_info:

:.debug_info
5d                    # pop    %rbp
00 00                 # add    %al,(%rax)
00 02                 # add    %al,(%rdx)
00 00                 # add    %al,(%rax)
00 00                 # add    %al,(%rax)
00 08                 # add    %cl,(%rax)
01 00                 # add    %eax,(%rax)
00 00                 # add    %al,(%rax)
00 b0 00 40 00 00     # add    %dh,0x4000(%rax)
00 00                 # add    %al,(%rax)
00 e4                 # add    %ah,%ah
01 40 00              # add    %eax,0x0(%rax)
00 00                 # add    %al,(%rax)
00 00                 # add    %al,(%rax)
73 74                 # jae    96 <_start-0x40001a>
72 63                 # jb     87 <_start-0x400029>
6d                    # insl   (%dx),%es:(%rdi)
70 2e                 # jo     55 <_start-0x40005b>
61                    # (bad)  
73 6d                 # jae    97 <_start-0x400019>
00 2f                 # add    %ch,(%rdi)
68 6f 6d 65 2f        # pushq  $0x2f656d6f
69 76 79 2f 43 6f 64  # imul   $0x646f432f,0x79(%rsi),%esi
65 2f                 # gs (bad) 
67 75 69              # addr32 jne a6 <_start-0x40000a>
78 2d                 # js     6c <_start-0x400044>
62                    # (bad)  
6f                    # outsl  %ds:(%rsi),(%dx)
6f                    # outsl  %ds:(%rsi),(%dx)
74 73                 # je     b7 <_start-0x3ffff9>
74 72                 # je     b8 <_start-0x3ffff8>
61                    # (bad)  
70 2f                 # jo     78 <_start-0x400038>
68 65 78 38 36        # pushq  $0x36387865
2f                    # (bad)  
61                    # (bad)  
73 6d                 # jae    bf <_start-0x3ffff1>
2f                    # (bad)  
00 79 61              # add    %bh,0x61(%rcx)
73 6d                 # jae    c5 <_start-0x3fffeb>
20 31                 # and    %dh,(%rcx)
2e 33 2e              # xor    %cs:(%rsi),%ebp
30 00                 # xor    %al,(%rax)
01                    # .byte 0x1
80                    # .byte 0x80

Disassembly of section .debug_abbrev:

:.debug_abbrev
01 11                 # add    %edx,(%rcx)
00 10                 # add    %dl,(%rax)
06                    # (bad)  
11 01                 # adc    %eax,(%rcx)
12 01                 # adc    (%rcx),%al
03 08                 # add    (%rax),%ecx
1b 08                 # sbb    (%rax),%ecx
25 08 13 05 00        # and    $0x51308,%eax
...

Disassembly of section .debug_line:

:.debug_line
7e 00                 # jle    2 <_start-0x4000ae>
00 00                 # add    %al,(%rax)
02 00                 # add    (%rax),%al
21 00                 # and    %eax,(%rax)
00 00                 # add    %al,(%rax)
01 01                 # add    %eax,(%rcx)
fb                    # sti    
0e                    # (bad)  
0d 00 01 01 01        # or     $0x1010100,%eax
01 00                 # add    %eax,(%rax)
00 00                 # add    %al,(%rax)
01 00                 # add    %eax,(%rax)
00 01                 # add    %al,(%rcx)
00 73 74              # add    %dh,0x74(%rbx)
72 63                 # jb     83 <_start-0x40002d>
6d                    # insl   (%dx),%es:(%rdi)
70 2e                 # jo     51 <_start-0x40005f>
61                    # (bad)  
73 6d                 # jae    93 <_start-0x40001d>
00 00                 # add    %al,(%rax)
00 00                 # add    %al,(%rax)
00 00                 # add    %al,(%rax)
09 02                 # or     %eax,(%rdx)
b0 00                 # mov    $0x0,%al
40 00 00              # add    %al,(%rax)
00 00                 # add    %al,(%rax)
00 03                 # add    %al,(%rbx)
09 01                 # or     %eax,(%rcx)
83 83 83 83 83 83 85  # addl   $0xffffff85,-0x7c7c7c7d(%rbx)
75 5b                 # jne    9d <_start-0x400013>
75 75                 # jne    b9 <_start-0x3ffff7>
75 75                 # jne    bb <_start-0x3ffff5>
31 75 75              # xor    %esi,0x75(%rbp)
5b                    # pop    %rbx
3d 75 31 3e 59        # cmp    $0x593e3175,%eax
4b 30 2f              # rex.WXB xor %bpl,(%r15)
4b 31 3d 23 75 75 83  # rex.WXB xor %rdi,-0x7c8a8add(%rip)        # ffffffff8375757c <_end+0xffffffff83157344>
75 30                 # jne    8b <_start-0x400025>
4b 30 75 75           # rex.WXB xor %sil,0x75(%r13)
23 75 23              # and    0x23(%rbp),%esi
76 75                 # jbe    d9 <_start-0x3fffd7>
75 83                 # jne    ffffffffffffffe9 <_end+0xffffffffff9ffdb1>
75 30                 # jne    98 <_start-0x400018>
03 0b                 # add    (%rbx),%ecx
20 2f                 # and    %ch,(%rdi)
34 2f                 # xor    $0x2f,%al
30 3d 31 2f 30 3d     # xor    %bh,0x3d302f31(%rip)        # 3d302fa5 <_end+0x3cd02d6d>
3e 32 3d 30 75 24 75  # xor    %ds:0x75247530(%rip),%bh        # 752475ab <_end+0x74c47373>
25 75 02 01 00        # and    $0x10275,%eax
01 01                 # add    %eax,(%rcx)
